{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Exact Ising Model simulation\n",
    "\n",
    "## How to simulate time evolution at zero time\n",
    "---"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Contributors:\n",
    "Alba Cervera-Lierta from *QUANTIC group* at Barcelona Supercomputing Center (BSC).\n",
    "\n",
    "### *Abstract*\n",
    "\n",
    "*In this notebook, we will simulate exactly the magnetization and the time evolution of a $n=4$ spin chain with Ising-type interaction by constructing a quantum circuit that diagonalizes its dynamics. This circuit can be implemented in a real device using only five 2-qubit gates which, in terms of the available gate set, correspond to 12 CNOT gates and 22 one-qubit gates.*\n",
    "\n",
    "*Note: this notebook was runned on 03/24/2018 at 3:45 p.m. (CET)*"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Introduction\n",
    "\n",
    "One of the challenges in the field of quantum information is solving strongly-correlated many-body systems. The identification of the entanglement structure as well as the time and temperature evolution of some observables have direct applications in many fields such as condensed matter physics or quantum chemistry. \n",
    "\n",
    "Direct approaches of these systems are usually intractable due to the strong correlations between particles or the exponential growing of the complexity as more particles are taking into account. On the other hand, a huge variety of analytical and numerical techniques have been proposed in the last century; for instance, Tensor Networks [[1](https://arxiv.org/abs/1306.2164)] is one of the most used in the last years due to the variety of applications. But, although could be very accurate, are still approximations to the quantum states of the systems studied.\n",
    "\n",
    "However, sometimes we are lucky and there exist a technique that allows us to solve some models _exactly_; these are the so-called _exactly-solvable models_ and most of them have a long tradition in statistical mechanics. Some examples are the 1-_d_ and 2-_d_ Ising Model, _XY_ model and the Bethe ansatz to solve Heisenberg-type models.\n",
    "\n",
    "As there exist an analytic method to diagonalize and, therefore, solve these models, what if we can construct a quantum circuit that implement these methods and _disentangle_ certain kind of hamiltonians? This idea was proposed by Vestraete, Cirac and Latorre [[2](https://arxiv.org/abs/0804.1888)]: they designed a circuit that disentangles the _XY_ hamiltonian. As a consequence, one have access not only to the ground state of the system, but also to all its spectrum: this is fundamental to understand and study all properties of the model, including time and temperature evolution. \n",
    "\n",
    "With the emergence of quantum computers such as IBMQ, the real implementation of these circuits become possible. In this notebook, the most simple circuit will be programmed and implemented: a $n=4$ transverse Ising spin chain. We will compute the magnetization of the ground state and the time evolution (at zero time!) of some spin state."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## The transverse Ising model\n",
    "\n",
    "One of the most simple models to describe an interacting spin chain is the transverse Ising model, which is a particular case of the $XY$ model. It describes an spin-1/2 chain with nearest-neightbour interaction with an external magnetic field. The hamiltonian of this model is usually written as\n",
    "\n",
    "$$H=\\sum_{i=1}^{n}\\sigma^{x}_{i}\\sigma^{x}_{i+1} + \\lambda\\sum_{i=1}^{n}\\sigma^{z}_{i},$$\n",
    "\n",
    "where $\\lambda$ is the strength of the external magnetic field, and $\\sigma$ are the Pauli matrices\n",
    "\n",
    "$$\\sigma^{x}=\\left(\\begin{array}{cc}0&1\\\\1&0\\end{array}\\right),\\qquad \\sigma^{y}=\\left(\\begin{array}{cc}0&-i\\\\i&0\\end{array}\\right),\\qquad \\sigma^z{}=\\left(\\begin{array}{cc}1&0\\\\0&-1\\end{array}\\right).$$\n",
    "\n",
    "This model shows a quantum phase transition at some critical point $\\lambda=\\lambda_{c}$: for $\\lambda<\\lambda_{c}$ the spins are in a disordered paramagnetic phase (spins desire to be antiparalel $\\uparrow\\downarrow\\uparrow\\downarrow\\cdots$) and for $\\lambda>\\lambda_{c}$ the spins are in an ordered ferromagnetic phase (spins desire to be in the same direction, $\\uparrow\\uparrow\\uparrow\\uparrow\\cdots$ or $\\downarrow\\downarrow\\downarrow\\downarrow\\cdots$). For infinite chains, $\\lambda_{c}=1$. For finite chains with periodic boundary conditions, i.e. spin $n$ interacts with spin 1, the critical point is lesser than 1, but approaches to the value of infinite chain as $n$ increases. The same happens with the entropy: the bipartite entropy peaks around critical point, which moves to $\\lambda=1$ as the size of the chain increases and scales logarithmically following the conformal scaling law $S\\sim \\frac{c}{6}\\log n$ with central charge $c=1/2$ [[3](https://arxiv.org/abs/0906.1499)].\n",
    "\n",
    "\n",
    "### Magnetization\n",
    "\n",
    "One natural measure to observe the quantum phase transition is the magnetization, which corresponds to the expected value of the spin operator \n",
    "\n",
    "$$\\langle S_{i}\\rangle = \\frac{\\hbar}{2}\\langle\\sigma_{i}\\rangle $$\n",
    "\n",
    "As in our model the magnetic field is applied in the $z$ direction, we will measure the transverse magnetization, i.e. $M\\propto\\langle\\sigma_{z}\\rangle$ (moreover, we will take natural units and set $\\hbar=1$).\n",
    "\n",
    "The eigenvectors of $\\sigma_{z}$ operator are \n",
    "\n",
    "$$\\begin{eqnarray}\\sigma_{z}|\\uparrow\\rangle &=& +1|\\uparrow\\rangle, \\qquad \\sigma_{z}|\\downarrow\\rangle &=& -1|\\downarrow\\rangle \\end{eqnarray},$$\n",
    "\n",
    "and we will identify them with the computational basis:\n",
    "\n",
    "$$\\begin{eqnarray}|0\\rangle&\\equiv&|\\uparrow\\rangle=\\left(\\begin{array}{c}1\\\\0\\end{array}\\right), \\qquad\n",
    "|1\\rangle&\\equiv&|\\downarrow\\rangle=\\left(\\begin{array}{c}0\\\\1\\end{array}\\right) \\end{eqnarray}.$$\n",
    "\n",
    "What should we expect from the magnetization as $\\lambda$ increases? Let's set $\\lambda=0$: all spins interact with their first neighbors according the above hamiltonian, i.e. in the $x$ direction, which is orthonormal to the $z$ direction. Following the above convention for the computational basis, the eigenstates of $\\sigma_{x}$ are\n",
    "\n",
    "$$\\begin{array}{l l}\n",
    "\\sigma_{x}|\\rightarrow\\rangle=+1|\\rightarrow\\rangle, & |\\rightarrow\\rangle=\\frac{1}{\\sqrt{2}}\\left(|\\uparrow\\rangle+|\\downarrow\\rangle\\right)=\\frac{1}{\\sqrt{2}}\\left(|0\\rangle+|1\\rangle\\right), \\\\\n",
    "\\sigma_{x}|\\leftarrow\\rangle=-1|\\leftarrow\\rangle, & |\\leftarrow\\rangle=\\frac{1}{\\sqrt{2}}\\left(-|\\uparrow\\rangle+|\\downarrow\\rangle\\right)=\\frac{1}{\\sqrt{2}}\\left(-|0\\rangle+|1\\rangle\\right).\n",
    "\\end{array}$$\n",
    "\n",
    "Then, for no external magnetic field, the spins point in the $x$ direction ($\\rightarrow\\rightarrow\\rightarrow\\cdots$ or $\\leftarrow\\leftarrow\\leftarrow\\cdots$) and as the magnetization is the expected value of $\\sigma_{z}$ (the mean value of +1 spin states and -1 spin states), it is essentially zero. But when $\\lambda$ appears, it introduces a direction in the orientation of spins, and they start flipping in order to align with the external field. This phenomena increase the magnetization until all spins are aligned: as many spins are considered, the transition is more abrupt.\n",
    "\n",
    "At the end, computing the magnetization is computing the expected value of $\\sigma_{z}$, _i.e._ $\\langle\\sigma_{z}\\rangle=\\langle\\psi|\\sigma_{z}|\\psi\\rangle$. As we have assigned $+1$ the magnetization of $|0\\rangle$ state and $-1$ the magnetization of the $|1\\rangle$ state, for a $N$ spin state\n",
    "\n",
    "$$ \\langle\\sigma_{z}\\rangle = \\frac{1}{N}\\sum_{i=1}^{2^N}p_{i}\\langle e_{i}|\\sigma_{z}|e_{i}\\rangle=\\frac{1}{N}\\sum_{i=1}^{2^N}p_{i}(n^{0}_{i}-n^{1}_{i})=\\frac{1}{N}\\sum_{i=1}^{2^N}p_{i}(N-2n^{1}_{i}), $$\n",
    "\n",
    "where $n_{i}^{0}(n_{i}^{1})$ are the number of zeros(ones) in the computational basis state $|e_{i}\\rangle$ with probability $p_{i}$  $(|e_{i}\\rangle=|0\\cdots00\\rangle,|0\\cdots01\\rangle,|0\\cdots10\\rangle,...,|1\\cdots11\\rangle)$. Then, it will be useful to define a subroutine to count the number of ones:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "def digit_sum(n):\n",
    "    num_str = str(n)\n",
    "    sum = 0\n",
    "    for i in range(0, len(num_str)):\n",
    "        sum += int(num_str[i])\n",
    "    return sum"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Exact solution for  transverse Ising model\n",
    "\n",
    "The exact solution of Ising model (and its generalization, the $XY$ model) was found by Lieb, Schultz and Mattis in 1961 [[4](https://www.sciencedirect.com/science/article/pii/0003491661901154)] and later, the solution for the transverse Ising model, i.e. with the introduction of external magnetic field, by Katsura in 1962 [[5](https://journals.aps.org/pr/abstract/10.1103/PhysRev.127.1508)]. The method contains 3 steps:\n",
    "\n",
    "1) Jordan-Wigner Transformation <br>\n",
    "2) Fourier Transform  <br>\n",
    "3) Bogoliubov Transformation  <br>\n",
    "\n",
    "We will summarize how to implement these steps to finally obtain a unitary transformation that disentangles the Ising hamiltonian, i.e. diagonalize the hamiltonian.\n",
    "\n",
    "### Finite size chain\n",
    "\n",
    "The recipe of the exact solution for the transverse Ising model that we will introduce will solve the model as it was an infinite chain with periodic boundary conditions. As this will not be true when we will design the circuit (we work with a finite number of qubits), we should introduce an extra term in order to correctly map the periodic boundary conditions between spins to fermionic degrees of freedom after doing the Jordan-Wigner transformation. This term will be suppressed in the large $n$ limit, but will introduce some finite size effects in our result, as we will only consider 4 spins. Taking this into account, the transverse Ising hamiltonian reads\n",
    "\n",
    "$$H=\\sum_{i=1}^{n}\\sigma^{x}_{i}\\sigma^{x}_{i+1} + \\lambda\\sum_{i=1}^{n}\\sigma^{z}_{i} + \\sigma_{1}^{y}\\sigma_{2}^{z}\\cdots\\sigma_{n-1}^{z}\\sigma_{n}^{y},$$\n",
    "\n",
    "### Jordan-Wigner Transformation\n",
    "\n",
    "This transformation maps the spin operators into fermionic modes. It is defined as\n",
    "\n",
    "$$\n",
    "c_{j}=\\left(\\prod_{l<j}\\sigma_{l}^{z}\\right)\\frac{\\sigma_{j}^{x}-i\\sigma_{j}^{y}}{2}, \\qquad\n",
    "c_{j}^\\dagger=\\left(\\prod_{l<j}\\sigma_{l}^{z}\\right)\\frac{\\sigma_{j}^{x}+i\\sigma_{j}^{y}}{2},\n",
    "$$\n",
    "\n",
    "where $c_{j}^\\dagger$ and $c_{j}$ are the fermionic creation and annihilation operators acting on the vacuum state $|\\Omega_{c}\\rangle$ and satisfy\n",
    "\n",
    "$$ \\{c_{i},c_{j}\\}=0, \\qquad \\{c_{i},c_{j}^\\dagger\\}=\\delta_{ij}, \\qquad c_{i}|\\Omega_{c}\\rangle=0.$$\n",
    "\n",
    "Then, the hamiltonian become\n",
    "\n",
    "$$ H_{c}=\\frac{1}{2}\\sum_{i=1}^{n}\\left(c_{i+1}^{\\dagger}c_{i}+c_{i}^{\\dagger}c_{i+1}+c_{i}^{\\dagger}c_{i+1}^{\\dagger}+c_{i}c_{i+1}\\right)+\\lambda\\sum_{i=1}^{n}c_{i}^{\\dagger}c_{i}.$$\n",
    "\n",
    "Thus, this transformation takes a state of spin-1/2 particles and turns it into a fermionic state. In terms of the wave function\n",
    "\n",
    "$$ |\\Psi\\rangle=\\sum_{i_{1},i_{2},\\cdots,i_{n}=0,1}\\psi_{i_{1},i_{2},\\cdots,i_{n}}|i_{1},i_{2},\\cdots,i_{n}\\rangle \\xrightarrow{J.W.} |\\Psi\\rangle_{c}=\\sum_{i_{1},i_{2},\\cdots,i_{n}=0,1}\\psi_{i_{1},i_{2},\\cdots,i_{n}}(c_{1}^\\dagger)^{i_1}(c_{2}^\\dagger)^{i_2}\\cdots(c_{n}^\\dagger)^{i_n}|\\Omega_{c}\\rangle.$$\n",
    "\n",
    "Notice that the coefficients $\\psi_{i_{1},i_{2},\\cdots,i_{n}}$ do not change! Then, we will not need to implement any gates over our register to do this step. This is a huge simplification. The only thing we should take care is that any further swap will carry a minus sign if it is implemented between two occupied modes, following the rules of the anticommutation relations written above. To be more specific, any crossed line in our circuit, if needed, should be implemented with a fermionic SWAP gate:\n",
    "\n",
    "$$ fSWAP=\\left(\\begin{array}{cccc}1&0&0&0\\\\0&0&1&0\\\\0&1&0&0\\\\0&0&0&-1\\end{array}\\right). $$\n",
    "\n",
    "<img src=\"fswap.png\" width=\"700\">"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# CZ (Controlled-Z)\n",
    "# control qubit: q0\n",
    "# target qubit: q1\n",
    "def CZ(qp,q0,q1):\n",
    "    qp.h(q1)\n",
    "    qp.cx(q0,q1)\n",
    "    qp.h(q1)\n",
    "# f-SWAP\n",
    "# taking into account the one-directionality of CNOT gates in the available devices\n",
    "def fSWAP(qp,q0,q1):\n",
    "    qp.cx(q0,q1)\n",
    "    qp.h(q0)\n",
    "    qp.h(q1)\n",
    "    qp.cx(q0,q1)\n",
    "    qp.h(q0)\n",
    "    qp.h(q1)\n",
    "    qp.cx(q0,q1)\n",
    "    CZ(qp,q0,q1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Fourier Transform\n",
    "\n",
    "The Fourier transformation exploits translational invariance and takes $H_c$ into a momentum space hamiltonian $H_b$:\n",
    "\n",
    "$$ \\begin{eqnarray}\n",
    "b_{k}&=&\\frac{1}{\\sqrt{n}}\\sum_{j=1}^{n}e^{i\\frac{2\\pi}{n}jk}c_{j}, \\qquad b_{k}^{\\dagger}&=&\\frac{1}{\\sqrt{n}}\\sum_{j=1}^{n}e^{-i\\frac{2\\pi}{n}jk}c_{j}^{\\dagger}, \\qquad k=-\\frac{n}{2}+1,\\cdots,\\frac{n}{2}.\n",
    "\\end{eqnarray}$$\n",
    "\n",
    "If $n=2^m$ for some integer $m$, it is possible to decompose the Fourier transform into two parallel Fourier transforms between the even and odd sites [[6](https://arxiv.org/abs/1310.7605)]:\n",
    "\n",
    "$$ \\frac{1}{\\sqrt{n}}\\sum_{j=0}^{n-1}e^{i\\frac{2\\pi}{n}jk}c_{j} = \\frac{1}{\\sqrt{n/2}}\\sum_{j'=0}^{n/2-1}e^{i\\frac{2\\pi}{n/2}j'k}c_{2j'} + \\frac{e^{i\\frac{2\\pi k}{n}}}{\\sqrt{n/2}}\\sum_{j'=0}^{n/2-1}e^{i\\frac{2\\pi}{n/2}j'k}c_{2j'+1}. $$\n",
    "\n",
    "Then $b_{k}$ and $b_{k}^{\\dagger}$ can be written as\n",
    "\n",
    "$$ b_{k}\\equiv \\frac{1}{\\sqrt{2}}\\left(b_{k_{even}} + e^{i\\frac{2\\pi k}{n}}b_{k_{odd}}\\right), \\qquad b_{k}^{\\dagger}\\equiv \\frac{1}{\\sqrt{2}}\\left(b^{\\dagger}_{k_{even}} + e^{i\\frac{2\\pi k}{n}}b^{\\dagger}_{k_{odd}}\\right). $$\n",
    "\n",
    "Generically, this transformation can be implemented with the unitary two qubit gates\n",
    "\n",
    "$$ F_{2}=\\left(\\begin{array}{cccc} 1&0&0&0\\\\ 0& \\frac{1}{\\sqrt{2}}& \\frac{1}{\\sqrt{2}} &0\\\\\n",
    "0& \\frac{1}{\\sqrt{2}}& -\\frac{1}{\\sqrt{2}} &0\\\\ 0&0&0& -1\\end{array}\\right) $$\n",
    "\n",
    "and a one qubit gate which implements de phase-delay that takes care of the so-called twiddle-factor $e^{\\frac{2\\pi ik}{n}}$\n",
    "\n",
    "$$ \\left(\\begin{array}{cc}1&0\\\\0& e^{\\frac{2\\pi ik}{n}} \\end{array}\\right). $$\n",
    "\n",
    "All together, the Fourier transform gate become\n",
    "$$ F^{n}_{k}=\\left(\\begin{array}{cccc} 1&0&0&0\\\\ 0& \\frac{1}{\\sqrt{2}}& \\frac{1}{\\sqrt{2}} &0\\\\\n",
    "0& \\frac{e^{-\\frac{2\\pi ik}{n}}}{\\sqrt{2}}& -\\frac{e^{-\\frac{2\\pi ik}{n}}}{\\sqrt{2}} &0\\\\ 0&0&0& -e^{-\\frac{2\\pi ik}{n}}\\end{array}\\right). $$\n",
    "\n",
    "<img src=\"fourier.png\" width=\"600\">\n",
    "\n",
    "<img src=\"CH.png\" width=\"700\">\n",
    "\n",
    "As we will restrict to $n=4$ spins, then the Fourier transform gates that we will need are only \n",
    "\n",
    "$$ F_0\\equiv F^{4}_{0}=F_{2}=\\left(\\begin{array}{cccc} 1&0&0&0\\\\ 0& \\frac{1}{\\sqrt{2}}& \\frac{1}{\\sqrt{2}} &0\\\\\n",
    "0& \\frac{1}{\\sqrt{2}}& -\\frac{1}{\\sqrt{2}} &0\\\\ 0&0&0& -1\\end{array}\\right), \\qquad \n",
    "F_1\\equiv F^4_1=\\left( S^{\\dagger}\\otimes\\mathbb{I}\\right)F_{2}\\left(\\begin{array}{cccc} 1&0&0&0\\\\ 0& \\frac{1}{\\sqrt{2}}& \\frac{1}{\\sqrt{2}} &0\\\\\n",
    "0& \\frac{-i}{\\sqrt{2}}& \\frac{i}{\\sqrt{2}} &0\\\\ 0&0&0& i\\end{array}\\right). $$\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# CH (Controlled-Haddamard)\n",
    "# control qubit: q1\n",
    "# target qubit: q0\n",
    "def CH2(qp,q0,q1):\n",
    "    qp.sdg(q0)\n",
    "    qp.h(q0)\n",
    "    qp.tdg(q0)\n",
    "    qp.h(q0)\n",
    "    qp.h(q1)\n",
    "    qp.cx(q0,q1)\n",
    "    qp.h(q0)\n",
    "    qp.h(q1)\n",
    "    qp.t(q0)\n",
    "    qp.h(q0)\n",
    "    qp.s(q0)\n",
    "# Fourier transform gates\n",
    "def F2(qp,q0,q1):\n",
    "    qp.cx(q0,q1)\n",
    "    CH2(qp,q0,q1)\n",
    "    qp.cx(q0,q1)\n",
    "    CZ(qp,q0,q1) \n",
    "def F0(qp,q0,q1):\n",
    "    F2(qp,q0,q1)   \n",
    "def F1(qp,q0,q1):\n",
    "    F2(qp,q0,q1)\n",
    "    qp.sdg(q0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "After Fourier transformation, the hamiltonian become\n",
    "\n",
    "$$ H_{b}=\\sum_{i=0}^{n-1}\\left[2\\left(\\lambda-\\cos\\left(\\frac{2\\pi k}{n}\\right)\\right)b_{k}^{\\dagger}b_{k}+i\\sin\\left(\\frac{2\\pi k}{n}\\right)\\left(b_{-k}^{\\dagger}b_{k}^{\\dagger}+b_{-k}b_{k}\\right)\\right]. $$\n",
    "\n",
    "### Bogoliubov transformation\n",
    "\n",
    "The last step is to decouple the modes with opposite momentum. This is done using the Bogoliubov transformation, which in particular for Ising model is\n",
    "\n",
    "$$ \\begin{eqnarray} \n",
    "a_{k}&=&\\cos\\left(\\frac{\\theta_{k}}{2}\\right)b_{k} - i\\sin\\left(\\frac{\\theta_{k}}{2}\\right)b_{-k}^\\dagger ,\\quad a_{k}^\\dagger &=&\\cos\\left(\\frac{\\theta_{k}}{2}\\right)b_{k}^\\dagger + i\\sin\\left(\\frac{\\theta_{k}}{2}\\right)b_{-k}, \\quad \\theta_{k}=-\\arccos\\left(\\frac{\\lambda-\\cos\\left(\\frac{2\\pi k}{n}\\right)}{\\sqrt{\\left(\\lambda-\\cos\\left(\\frac{2\\pi k}{n}\\right)\\right)^2+\\sin^2\\left(\\frac{2\\pi k}{n}\\right)}}\\right)\n",
    "\\end{eqnarray}.$$\n",
    "\n",
    "Then, we finally arrive to the diagonal hamiltonian\n",
    "\n",
    "$$H_{a}=\\sum_{k}\\omega_{k}a_{k}^{\\dagger}a_{k},$$\n",
    "\n",
    "where $\\omega_{k}=\\sqrt{\\left(\\lambda-\\cos\\left(\\frac{2\\pi k}{n}\\right)\\right)^2+\\sin^2\\left(\\frac{2\\pi k}{n}\\right)}$.\n",
    "\n",
    "This transformation is between the modes of opposite momentum and can be implemented using the unitary gate\n",
    "\n",
    "$$U_{Bog}\\equiv B_{k}^{n}=\\left(\\begin{array}{cccc}\\cos\\left(\\frac{\\theta_{k}}{2}\\right)&0&0&i\\sin\\left(\\frac{\\theta_{k}}{2}\\right)\\\\0&1&0&0\\\\0&0&1&0\\\\i\\sin\\left(\\frac{\\theta_{k}}{2}\\right)&0&0&\\cos\\left(\\frac{\\theta_{k}}{2}\\right)\\end{array}\\right).$$\n",
    "\n",
    "<img src=\"bog\" width=\"500\">\n",
    "<img src=\"CRX\" width=\"650\">\n",
    "where $RX$, $RY$ and $RZ$ are the rotation gates ($RZ(\\theta)=U_{1}(-\\theta)$ and $RY(\\theta)=U_{3}(\\theta,0,0)$) and the above decomposition of the controlled-RX gate has been obtained with Barenco _et al._ method [[7](https://arxiv.org/abs/quant-ph/9503016)].\n",
    "\n",
    "For $n=4$, we have only two Bogoliubov gates, $B_{0}^{4}$ and $B_{1}^{4}$:\n",
    "\n",
    "$$ B_{0}^{4}\\equiv B_{0}=\\left\\{\\begin{array}{cc} \\left(\\begin{array}{cccc}1&0&0&0\\\\0&1&0&0\\\\0&0&1&0\\\\0&0&0&1\\end{array}\\right) & \\mathrm{for \\ \\lambda\\geq1}\\\\ \\left(\\begin{array}{cccc}0&0&0&-i\\\\0&1&0&0\\\\0&0&1&0\\\\-i&0&0&0\\end{array}\\right) & \\mathrm{for \\ \\lambda\\leq1}\\end{array}\\right., \\qquad\n",
    "B_{1}^{4}\\equiv B_{1}=\\left(\\begin{array}{cccc}\\cos\\left(\\frac{1}{2}\\arccos\\left(\\frac{\\lambda}{\\sqrt{1+\\lambda^2}}\\right)\\right)&0&0& i\\sin\\left(\\frac{1}{2}\\arccos\\left(\\frac{\\lambda}{\\sqrt{1+\\lambda^2}}\\right)\\right)\\\\0&1&0&0\\\\0&0&1&0\\\\ i\\left(\\frac{1}{2}\\arccos\\left(\\frac{\\lambda}{\\sqrt{1+\\lambda^2}}\\right)\\right)&0&0&\\cos\\left(\\frac{1}{2}\\arccos\\left(\\frac{\\lambda}{\\sqrt{1+\\lambda^2}}\\right)\\right)\\end{array}\\right).$$\n",
    "\n",
    "Notice that for $\\lambda\\geq 1$, $B_{0}$ does nothing (as it is the identity), and for $\\lambda\\leq 1$ it only affects qubits in the state $|00\\rangle$ and $|11\\rangle$. Then, as the Bogoliubov transformation will be the first operation to entangle again the state into the Ising basis, depending on the initial state, we can remove this gate. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "from math import pi\n",
    "\n",
    "# ROTATIONAL GATES\n",
    "def RZ(qp,th,q0):\n",
    "    qp.u1(-th,q0)\n",
    "def RY(qp,th,q0):\n",
    "    qp.u3(th,0.,0.,q0)\n",
    "def RX(qp,th,q0):\n",
    "    qp.u3(th,0.,pi,q0)\n",
    "\n",
    "# CRX (Controlled-RX)\n",
    "# control qubit: q0\n",
    "# target qubit: q1\n",
    "def CRX(qp,th,q0,q1):\n",
    "    RZ(qp,pi/2.0,q1)\n",
    "    RY(qp,th/2.0,q1)\n",
    "    qp.cx(q0,q1)\n",
    "    RY(qp,-th/2.0,q1)\n",
    "    qp.cx(q0,q1)\n",
    "    RZ(qp,-pi/2.0,q1)\n",
    "# Bogoliubov B_1\n",
    "def B(qp,thk,q0,q1):\n",
    "    qp.x(q1)\n",
    "    qp.cx(q1,q0)\n",
    "    CRX(qp,thk,q0,q1)\n",
    "    qp.cx(q1,q0)\n",
    "    qp.x(q1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Disentangle gate\n",
    "\n",
    "What we have done is describing all steps to construct a disentangling gate \n",
    "\n",
    "$$ H = U_{dis}\\tilde{H}U_{dis}^{\\dagger}, $$\n",
    "\n",
    "where $H$ is in this case the Ising hamiltonian and $\\tilde{H}$ is a non interacting hamiltonian, _i.e._ can be written as $\\tilde{H}=\\sum_{i=1}^{n}\\epsilon_{i}\\sigma^{z}_{i}$. The eigenstates of $\\tilde{H}$ are product states, so they are very easy to prepare in a quantum computer. Then, applying the $U_{dis}$ gate over these states, one obtains the Ising spectrum:\n",
    "\n",
    "$$ \\begin{eqnarray}\n",
    "\\tilde{H}|\\psi_{i}\\rangle &=& \\epsilon_{i}|\\psi_{i}\\rangle, \\longrightarrow\n",
    "%\\underbrace{U_{dis}\\tilde{H}U_{dis}^{\\dagger}}_{H}U_{dis}|\\psi_{i}\\rangle&=&\\epsilon_{i}U_{dis}U_{dis}^{\\dagger}U_{dis}|\\psi_{i}\\rangle, \\\\\n",
    "H\\underbrace{U_{dis}|\\psi_{i}\\rangle}_{|\\varphi_{i}\\rangle}&=&\\epsilon_{i}\\underbrace{U_{dis}|\\psi_{i}\\rangle}_{|\\varphi_{i}\\rangle},\n",
    "\\end{eqnarray}$$ \n",
    "\n",
    "where $|\\psi_{i}\\rangle$ are the eigenstates of $\\tilde{H}$, $|\\varphi_{i}\\rangle$ are the eigenstates of Ising hamiltonian and $\\epsilon_{i}$ the corresponding energies that can be computed from $\\omega_{k}$ of the $H_{a}$. For instance, the ground state energy is\n",
    "\n",
    "$$ \\epsilon_{0}=-\\sum_{k=-n/2+1}^{n/2}\\omega_{k}= -\\left(2\\sqrt{1+\\lambda^2}+\\lambda+1+|\\lambda-1|\\right), $$\n",
    "\n",
    "and the energies of the excited states can be obtained applying $a^{\\dagger}_{k}$ over the ground state.\n",
    "\n",
    "As we have seen, to disentangle the Ising hamiltonian we need to apply first a Fourier transform followed by a Bogoliubov transformation. So, starting from a _disentangled_ state, _i.e._ a product state, to transform it again to an Ising eigenstate, we need to implement the gates in the inverse order:\n",
    "\n",
    "$$ \\tilde{H}\\equiv H_{a} \\xrightarrow{U_{Bog}} H_{b} \\xrightarrow{U_{FT}} H_{c} \\longrightarrow H. $$\n",
    "\n",
    "Then\n",
    "\n",
    "$$ U_{dis}=U_{FT}U_{Bog}. $$\n",
    "\n",
    "## Final circuit\n",
    "\n",
    "<img src=\"circuit.png\" width=\"500\">\n",
    "\n",
    "Notice that, if even and odd qubits are connected, it is not necessary to introduce the $fSWAP$ gates. This will be the case if we implement the above circuit in the ibmqx5 device, since the qubit architecture allows the connectivity of qubits in a square.\n",
    "\n",
    "### Ground state $n=4$ Ising model \n",
    "\n",
    "Due to finite size effects, the ground state in the diagonal basis depends on $\\lambda$ value:\n",
    "\n",
    "$$ |\\psi\\rangle_{g.s}=\\left\\{\\begin{array}{cc} |0001\\rangle & \\mathrm{for \\ \\lambda<1}\\\\ |0000\\rangle & \\mathrm{for \\ \\lambda>1} \\end{array}\\right. $$\n",
    "\n",
    "As the qubits are initialized in the $|0\\rangle$ state, then it is not necessary to apply any gate to prepare the circuit for the simulations of $\\lambda>$ and only an $X$ gate over last qubit for $\\lambda<1$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# This circuit can be implemented in ibmqx5 using qubits (q0,q1,q2,q3)=(6,7,11,10)\n",
    "# It can also be implemented between other qubits or in ibqmx2 and ibqmx4 using fermionic SWAPS\n",
    "# For instance, the lines commented correspond to the implementations:\n",
    "# ibmqx2 (q0,q1,q2,q3)=(4,2,0,1)\n",
    "# ibmqx4 (q0,q1,q2,q3)=(3,2,1,0)\n",
    "def Udisg(qc,lam,q0,q1,q2,q3):\n",
    "    k=1\n",
    "    n=4\n",
    "    th1=-np.arccos((lam-np.cos(2*pi*k/n))/np.sqrt((lam-np.cos(2*pi*k/n))**2+np.sin(2*pi*k/n)**2))\n",
    "    B(Udis,th1,q0,q1)\n",
    "    F1(Udis,q0,q1)\n",
    "    F0(Udis,q2,q3)\n",
    "    #fSWAP(Udis,q2,q1) # for ibmqx2\n",
    "    #fSWAP(Udis,q1,q2) # for ibmqx4\n",
    "    F0(Udis,q0,q2)\n",
    "    F0(Udis,q1,q3)\n",
    "    #fSWAP(Udis,q2,q1) # for ibmqx2\n",
    "    #fSWAP(Udis,q1,q2) # for ibmqx4\n",
    "\n",
    "def Initial(qc,lam,q0,q1,q2,q3):\n",
    "    if lam <1:\n",
    "        qc.x(q3)\n",
    "\n",
    "def Ising(qc,ini,udis,mes,lam,q0,q1,q2,q3,c0,c1,c2,c3):\n",
    "    Initial(ini,lam,q0,q1,q2,q3)\n",
    "    Udisg(udis,lam,q0,q1,q2,q3)\n",
    "    mes.measure(q0,c0)\n",
    "    mes.measure(q1,c1)\n",
    "    mes.measure(q2,c2)\n",
    "    mes.measure(q3,c3)\n",
    "    qc.add_circuit(\"Ising\",ini+udis+mes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "#import sys  \n",
    "#sys.path.append(\"../../\")   \n",
    "# importing the QISKit\n",
    "from qiskit import QuantumCircuit,QuantumProgram\n",
    "#import Qconfig  \n",
    "# useful additional packages\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import numpy as np\n",
    "from scipy import linalg as la"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Simulator\n",
    "shots = 1024\n",
    "backend ='ibmqx_qasm_simulator'  \n",
    "coupling_map = None\n",
    "mag_sim = []\n",
    "for i in range(8):\n",
    "    Isex = QuantumProgram()\n",
    "    q = Isex.create_quantum_register(\"q\",4)\n",
    "    c = Isex.create_classical_register(\"c\", 4)\n",
    "    Udis = Isex.create_circuit(\"Udis\", [q], [c])\n",
    "    ini = Isex.create_circuit(\"ini\",[q],[c])\n",
    "    mes = Isex.create_circuit(\"mes\",[q],[c])\n",
    "\n",
    "    lam=i*0.25\n",
    "    Ising(Isex,ini,Udis,mes,lam,q[0],q[1],q[2],q[3],c[0],c[1],c[2],c[3])\n",
    "\n",
    "#    Isex.set_api(Qconfig.APItoken, Qconfig.config[\"url\"]) # set the APIToken and API url   \n",
    "\n",
    "    result = Isex.execute([\"Ising\"], backend=backend,\n",
    "                    coupling_map=coupling_map, shots=shots,timeout=240000)\n",
    "    res=result.get_counts(\"Ising\")\n",
    "    r1=list(res.keys())\n",
    "    r2=list(res.values())\n",
    "    M=0\n",
    "    for j in range(0,len(r1)):\n",
    "        M=M+(4-2*digit_sum(r1[j]))*r2[j]/shots\n",
    "    #print(\"$\\lambda$: \",lam,\", $<\\sigma_{z}>$: \",M/4)\n",
    "    mag_sim.append(M/4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Real device\n",
    "shots = 1024\n",
    "#backend ='ibmqx5'  \n",
    "max_credits = 5\n",
    "mag=[]\n",
    "for i in range(8):\n",
    "    Isex = QuantumProgram()\n",
    "    q = Isex.create_quantum_register(\"q\",12)\n",
    "    c = Isex.create_classical_register(\"c\", 4)\n",
    "    Udis = Isex.create_circuit(\"Udis\", [q], [c])\n",
    "    ini = Isex.create_circuit(\"ini\",[q],[c])\n",
    "    mes = Isex.create_circuit(\"mes\",[q],[c])\n",
    "\n",
    "    lam=i*0.25\n",
    "    Ising(Isex,ini,Udis,mes,lam,q[6],q[7],q[11],q[10],c[0],c[1],c[2],c[3])\n",
    "\n",
    "#    Isex.set_api(Qconfig.APItoken, Qconfig.config[\"url\"]) # set the APIToken and API url\n",
    "\n",
    "    result = Isex.execute([\"Ising\"], backend=backend,\n",
    "                    max_credits=max_credits, wait=10, shots=shots,timeout=240000)\n",
    "    res=result.get_counts(\"Ising\")\n",
    "    r1=list(res.keys())\n",
    "    r2=list(res.values())\n",
    "    M=0\n",
    "    for j in range(0,len(r1)):\n",
    "        M=M+(4-2*digit_sum(r1[j]))*r2[j]/shots\n",
    "    #print(\"$\\lambda$: \",lam,\", $<\\sigma_{z}>$: \",M/4)\n",
    "    mag.append(M/4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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zZo1iYuLC3coIiJSghW75CU1NZUKFSpQp04dst5hXU6Hc45du3aRmppK3bp1wx2OiIiUYJHSYbfQHDlyhLPOOkuJSyEzM8466yy1aImISNgVu+QFUOJSRLReRUQkEhTL5KW4+uyzz5g7d264wxARkbxs2QKdOsHWreGOpNhS8hJFlLyIiESB4cNhzhwYNizckRRbSl6KwMSJE2nXrh2tW7fm97//PevXr6dhw4bs3LmT9PR0OnbsyKxZswC4/vrrOf/882nWrBnjxo3LnMeHH35ImzZtaNWqFV26dGHdunWMHTuW559/ntatW/Pll1+Gq3oiIpKTsmXBDMaMgfR079nMK5dCVezONgq35cuXM2XKFL766ivi4uK45557+Pzzzxk0aBADBgygXbt2NG3alK5duwIwfvx4KlWqxOHDh2nbti033HAD6enp3H333XzxxRfUrVuX3bt3U6lSJfr370/58uUZOHBgmGspIiInWbMGBg6Ed96BtDRISICUFBg5MtyRBeXEiRMcOHCA/fv3n/QcOHz48GGefPLJsMZarJOXP/3pT3z//feFOs/WrVszatSoXMd/+umnLFq0iLZt2wJw+PBhqlatytChQ3nrrbcYO3ZslphGjx7N9OnTAdi4cSM///wzO3bs4JJLLsk8JblSpUqFWgcRESkC1atDYiIcOQLx8d5zYiKcfXaRLvbEiRPs37+fffv2sW/fPvbu3ZvlOb9kJOM5LS0tqOXFx8czfPhwYmNji7ReeSnWyUs4OOe4/fbbeeqpp7KUp6WlkZqaCsDBgwepUKECn332GZ988glff/01CQkJdO7cWacii4hEs23boH9/6NcPxo3zOu/mwTlHWlraSQlHMMMZzwcOHMg3rLi4OBITE0lMTKRChQokJiZSrVo1GjRokKUscDi3ski4UGmxTl7yaiEpKl26dKFHjx7cf//9VK1ald27d3PgwAFGjhxJnz59SEpK4u677+a9995j3759VKxYkYSEBFasWMG8efMAaN++Pffccw9r167NctioQoUK7N+/P+R1EhGRvB05coTdu3fzxgUv8PzzVdg+pgyVKj1Dt26fU++vf2X37t3s3r2bPXv2ZD7v2bOHvXv3cuLEiTznHRsby5lnnskZZ5yR+dygQYPM4cDynMoSExMpU6ZMiNZEaBTr5CUcmjZtyt/+9je6du1Keno6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RHTYFREREQmWkhcRERGJKkpeREREJKooeREREZGoouRFREREooqSFxGJWGlpaezatSvcYYhIhFHyIiIR4ejRoyxcuJCxY8fSt29fWrVqRWJiIk888US4QxORCBOy67yIiGRIT0/n559/Zt68ecybN48FCxbwww8/cOzYMQAqV65McnIy1113Hd26dQtztCISaZS8iEiR2717N/Pnz89MVubPn8+ePXsASExMJDk5mQceeIC2bduSnJxM7dq1MbMwRy0ikUrJi4gUquPHj7NkyZLMRGXevHn89NNPAMTExNC8eXNuvPFG2rdvT/v27WncuDExMTqCLSLBU/IiIqdlz549zJ07ly+//JK5c+eyaNEi0tLSAKhatSrt27fnjjvuoH379iQnJ1OhQoUwRywi0U7Ji4gUyMaNG5kzZw5ffvklc+bM4ccff8Q5R6lSpWjTpg1333037du354ILLqBOnTo6/CMihU7Ji4jkKj09neXLl2dJVtavXw9A+fLlueiii7jpppvo2LEj7dq1IyEhIcwRi0hJoORFRDI551i+fDn/+9//mD17Np9//nnmdVaqVatGx44duf/+++nYsSMtW7akVCl9hYhI6OmbRySKTZoEjzwCGzZA7drwxBPQp0/w73fOsWrVqsxk5bPPPmPbtm0AJCUlce2113LJJZfQsWNH6tevr0NAIhIRlLyIRKlJk6BfP/D7xrJ+vfca8k5g1q1bl5mszJ49m02bNgFQo0YNLr/8ci677DIuvfRS6tatW8Q1EBE5NeacC3cMpyw5OdktXLgw3GGIhEWdOl7Ckl1SEqxb9+vrffv2MXv2bGbNmsWsWbNYvXo14J0J1Llz58xkpWHDhmpZEZGwMrNFzrnk/KZTy4tIlNqwIbdyxzffzGfWrFl89NFHzJs3jxMnTlC+fHkuvfRS7rvvPi677DKaNm2qZEVEopKSF5EoVbt2zi0vZhtp3749ZkZycjIPPfQQXbt2pX379pQuXTr0gYqIFDIlLyJR6JdffqF3758ZMaIhx4//mpCYpdGx44cMGDCZLl26ULly5TBGKSJSNJS8iESJ7du3M3PmTN5//31mzZrF/v37iY29lfj4ERw5UpXq1Y8xYkRZ+vTpF+5QRUSKlJIXkQjlnOO7777jvffe4/3332fBggU456hRowY333wzV199NV26dKF8+fL+O3RISERK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hUrJi5ySTZs28eyzz/Lqq6+SlpZGSkoKgwcPJjk53/tpiYiInBYlL1Igq1ev5u9//zuvvfYaJ06coHfv3jz00EM0bdo03KGJiEgJoeRFgvLjjz/y1FNPMXnyZOLi4ujbty8PPvggdevWDXdoIiJSwih5kTwtXryYYcOGMW3aNMqVK8cDDzzAAw88QPXq1cMdmoiIlFBKXiRH3333HcOGDeOdd94hMTGRIUOGcN999+meQyIiEnYx4Q5AwmTLFujUCbZuzVL83Xffcf3119OmTRtmz57NY489xrp163j88ceVuIiISERQ8lJSDR8Oc+bAsGEALFq0iB49etCmTRs+//xzHn/8cdatW8fQoUOpWLFimIMVERH5lTnnwh3DKUtOTnYLFy4MdxjRpWxZOHLkpOLDwDkVK3L//ffzxz/+kTPOOCP0sYmISIlmZoucc/lec0N9XkqaNWtg4EBOvP02sUePcgh4v3RpNt9/P+sGDyYxMTHcEYqIiORJyUsJs2TnTlLnzqXr0aMcAcqa0ePWWynz9NPhDk1ERCQo6vNSQqxcuZJevXrRqlUrjqWm8m3bthyfM4eYAQMos3t3uMMTEREJmpKXYm7dunX87ne/o2nTpvz3v//l4YcfZuvLe7hp+3wSO15MnfdfZtIN08IdpoiISNCUvBRTmzZt4p577uHcc8/lzTff5L777mPNmjU0bfoE999fnvXrwTlYvx769YNJk8IdsYiISHCUvBQz27dv54EHHqB+/fr84x//4K677mL16tU899xzVK1alUcegbS0rO9JS4NHHglPvCIiIgWlDrvFxJ49exg5ciQvvPAChw8f5rbbbmPIkCEn3Xtow4ac359buYiISKRR8hLlDhw4wKhRo3j22WfZt28fPXv2ZOjQoTRq1CjH6WvX9g4V5VQuIiISDXTYKEodPXqU0aNHU79+fYYMGULnzp1ZvHgx//73v3NNXACeeAISErKWJSR45SIiItFAyUuUSU9PZ+LEiTRu3Jj77ruP5s2b88033/DOO+/QsmXLfN/fpw+MGwdJSWDmPY8b55WLiIhEAx02ihLOOT744AMefvhhfvjhB1q3bs2HH35I165dMbMCzatPHyUrIiISvdTyEgXmzZtH586dufrqqzl48CBvvvkmixYtolu3bgVOXERERKKdkpcItnz5clJSUrjwwgtZsWIFL730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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7efe4afbb080>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "\n",
    "# As it is a system of only 4 particles, we can easily compute the exact result\n",
    "def exact(lam):\n",
    "    if lam <1:\n",
    "        return lam/(2*np.sqrt(1+lam**2))\n",
    "    if lam >1:\n",
    "        return 1/2+lam/(2*np.sqrt(1+lam**2))\n",
    "    return None\n",
    "vexact = np.vectorize(exact)\n",
    "l=np.arange(0.0,2.0,0.01)\n",
    "l1=np.arange(0.0,2.0,0.25)\n",
    "plt.figure(figsize=(9,5))\n",
    "plt.plot(l,vexact(l),'k',label='exact')\n",
    "plt.plot(l1, mag_sim, 'bo',label='simulation')\n",
    "plt.plot(l1, mag, 'r*',label='ibmqx5')\n",
    "plt.xlabel('$\\lambda$')\n",
    "plt.ylabel('$<\\sigma_{z}>$')\n",
    "plt.legend()\n",
    "plt.title('Magnetization of the ground state of n=4 Ising spin chain')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nhi+//JJZs2Yxbdo0XnvtNZ5//vlIh1f6rjaKtFWrVjF16lTmzp1LfHw8t9xyC59//jmjRo1i5MiR\ndOzYkZYtW9KrVy8AXnrpJapXr87hw4e54IILuOaaa8jOzuamm25i9uzZNGnShN27d1O9enVGjhxJ\n5cqVufPOOyNcShERiTbOOTIzM9m/f39ut2/fvjzv83cFjT969Gih6xo+fDhxcXFhKtmJSnXy8tvf\n/palS5cW6zJTU1N58sknCxz/2WefsWTJEi644AIADh8+TO3atXnwwQd58803GT9+fJ6YnnrqKd55\n5x0ANm3axHfffceOHTvo3r177iXJ1atXL9YyiIhIyZg8GUaPho0bITkZHn4YhgwJff7MzEz27t17\nQrdnz56Qhh87duyk66hQoQJVq1YlKSkpt2vUqFGe94Fd/mmTkpIoVy6yJ25KdfISCc45hg4dytix\nY/MMP3ToEBkZGQAcPHiQKlWqMGvWLGbMmMH8+fNJTEykZ8+eZGZm4pzTlT0iIjFm8mQYMQIOHfLe\nb9gAN954nIULF3PeecvyJBoFJSMnux1FhQoVqFatGtWqVePMM8+kRo0anH322Zx55pmceeaZVK1a\nNWiyEdhVrFgxDFujZJXq5KWwGpKScskll9CvXz9+97vfUbt2bXbv3s2BAwd4/PHHGTJkCI0bN+am\nm27igw8+YN++fVSrVo3ExERWr17NggULAOjcuTO33nor69aty3PaqEqVKuzfvz/sZRIRKYuOHj3K\n7t272bVrV0ivK1d+yPHjDfMs48iROJ56qg4wAoDy5cvnJh45XaNGjU4YltPlH56QkBCBLRF9SnXy\nEgktW7bkT3/6E7169SI7O5v4+Hj++te/smjRIubOnUtcXBxvvfUWEydOZPDgwYwfP542bdpwzjnn\n0KlTJwBq1arFhAkT+PnPf052dja1a9fm008/pU+fPgwYMID33nuPv//973Tr1i3CpRURiQ3Z2dns\n2bOHHTt2FNrt2rUrNxk5ePBggcuLj4+nevXq1KhRg+rVq9OkSROWLWsQdFqzxmzcuCn3z6pq1k+f\nOeciHcMpS0tLc4sXL84zbNWqVbRo0SJCEZV+2r4iEg2ysrLYuXPnSZORwKQkOzs76LKSkpKoVasW\ntWrVombNmnmSkoJeK1eufEISkpLinSrKr3FjWL+++LdBaWRmS5xzaSebTjUvIiISFbKzs9m9ezfb\nt29n27ZtuV3g+5z+HTt2UNCf7+rVq+cmI+eccw5du3bNfZ+/q1mzZrG1AXn44bxtXgASE73hUryU\nvIiISIk6ePAgW7Zs4dVXjzN+fDI7dyaSlLSXdu3e5Iwz3stNSrZv305WVtYJ81esWJG6detSt25d\nUlJS6NSpE3Xr1qV27donJCM1atSgfPnI/LTlXFV0OlcbSWiUvIiIyCk5duwY27dvZ/PmzWzevJkt\nW7YE7T9w4ACQDrwAnAHA/v3VmD37epKTN9Cq1VLatm2bm6DUqVMnt79u3bokJSXFTDuRIUOUrISD\nkhcRETnBgQMH2LhxIxkZGQUmJ9u3bz/h1E358uWpX78+DRo0oFWrVvTq1YsGDRrw6KO3sGvXGXmm\ndS4ReJgPPwxjwaRUUPIiIlLGZGVlsWXLFjZt2sTGjRuDdnv37j1hvho1atCgQQMaNGhAu3btcvtz\nkpUGDRpQs2bNoDcwu+ee4LFs3FjcpZOyQMmLiEgps3fv3gKTko0bN7J58+YTrrypVq0aycnJNG7c\nmG7dupGcnExycjINGzakQYMG1KtX77TuMZKcHPxKnOTkU16klGFKXsJg+PDh3HHHHbRs2fK0l5WS\nksLixYupWbNmgdM88sgj/P73v899f+GFF+pp1CKlSGZmJhs2bGDt2rWsW7cut8t5n7/WJD4+nkaN\nGpGcnMxFF12Um5jkdI0aNaJy5colGrOuxJHipOQlDP7xj3+EdX35kxclLiKx5fjx42zevDlPYhKY\nnGzZsiXP9BUrViQlJYWzzjqLzp0706RJE1JSUnITkzp16kT8WTS6EkeKU5lPXk73IVr5/fjjj1x3\n3XVkZGRw/Phx7r//fp577jkef/xx0tLSqFy5MrfeeiszZsygWrVqPPLII9x9991s3LiRJ598kr59\n+zJp0iQWL17M008/DcBVV13FnXfeSc+ePfOs6+qrr2bTpk1kZmZy++23M2LECO655x4OHz5Mamoq\nrVq1YvLkyVSuXJmDBw/inOPuu+/m448/xsy47777GDhwILNmzeLBBx+kZs2arFixgvbt2/Paa6/F\nTOt+kViUnZ2d+zDWNWvW8N133+V2a9euzfNUXzOjYcOGNGnShF69etGkSZPc7qyzzqJu3boRT05C\noStxpLiU6eQl2EO0RniPnzjlD9j06dOpX78+H/rN5/ft28dzzz2XO/7HH3+kZ8+e/PnPf6Z///7c\n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\nmzDBa7xbjDp37sw999zD8uXL6d69O/379w953ptvvplhw4bRpk0bUlNT6dChAwCff/45ixYtYu7c\nucTFxfHWW28xceJEevTokbv8rKwsBg8enHtqSkREpLQw51x4VmTWG/gbEAf8wzk3Lt/4ZOBl4Ex/\nmnuccx8Vtsy0tDS3ePHiPMNWrVpFixYtijP0qNGzZ08ef/zxiN6/pTRvXxERiSwzW+KcO+mPXFhO\nG5lZHPAMcAXQEkg3s5b5JrsPeMM51w4YBDwbjthEREQktoTrtFEHYI1zbi2AmU0B+gFfB0zjgCS/\nvyqwJUyxxYxZs2ZFOgQREZGIC1fy0gDYFPA+A+iYb5oHgU/M7DfAGcCl4QlNREREYkm4rjYKdr1v\n/sY26cAk51xD4ErgVTM7IT4zG2Fmi81s8Y4dO4KuLFzteMoabVcREYkG4UpeMoBGAe8bcuJpoRuB\nNwCcc/OBBOCEB/Q45yY459Kcc2m1atU6YUUJCQns2rVLP7TFzDnHrl27SEhIiHQoIiJSxoXrtNEi\noJmZNQE24zXIHZxvmo3AJcAkM2uBl7wEr1opRMOGDcnIyKCgWhk5dQkJCTRs2DDSYYiISBkXluTF\nOZdlZr8G/o13GfRLzrmVZjYGWOycmwb8H/CCmf0O75TSDe4Uqk/i4+Np0qRJcYYvIiIiUSRsN6nz\n79nyUb5hDwT0fw10CVc8IiIiEpvK9uMBREREJOYoeREREZGYouRFREREYoqSFxEREYkpSl5EREQk\npih5ERERkZii5EVERERiipIXERERiSlKXkRERCSmKHkRERGRmKLkRURERGKKkhcRERGJKUpeRERE\nJKYoeREREZGYouRFREREYoqSFxEREYkpSl5EREQkpih5ERERkZii5EVERERiipIXERERiSlKXkRE\nRCSmKHkRERGRmKLkRURERGKKkhcRERGJKUpeREREJKYoeREREZGYouRFREREYoqSFxEREYkpSl5E\nREQkpih5ERERkZii5EVERERiipIXERERiSlKXkRERCSmKHkRERGRmKLkRURERGKKkhcRERGJKUpe\nREREJKYoeREREZGYouRFREREYoqSFxEREYkpSl5EREQkpih5ERERkZii5EVERERiStiSFzPrbWbf\nmNkaM7ungGmuM7OvzWylmf0zXLGJiIhI7CgfjpWYWRzwDHAZkAEsMrNpzrmvA6ZpBtwLdHHO7TGz\n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\nVnP/c6x+WF8AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fe58439f7f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#This was the result when the real device is used:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The jump in the magnetization is due to the finite size effect. If we consider more and more spins, this jump decrease it until desappear in the limit $n\\rightarrow \\infty$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Time evolution\n",
    "\n",
    "Schrödinger equation describes the time evolution of a quantum system:\n",
    "\n",
    "$$ i\\hbar\\frac{d}{dt}|\\Psi(t)\\rangle=H(t)|\\Psi(t)\\rangle. $$\n",
    "\n",
    "Then, the time evolution of a state if the hamiltonian is not time-dependent, _i.e._ $H\\neq H(t)$, is\n",
    "\n",
    "$$|\\Psi(t)\\rangle=U(t,t_{0})|\\Psi(t_{0})\\rangle \\quad \\mathrm{with} \\quad U(t,t_{0})=e^{-i(t-t_{0})H}.$$ \n",
    "\n",
    "For simplicity, we will set $t_{0}=0$ and $|\\Psi(t_{0})\\rangle\\equiv|\\Psi_{0}\\rangle$.\n",
    "\n",
    "Using the stationary states basis (eigenstates of the hamiltonian),\n",
    "\n",
    "$$ |\\Psi(t)\\rangle=\\sum_{n}e^{-iE_{n}(t-t_{0})}|E_{n}\\rangle\\langle E_{n}|\\Psi_{0}\\rangle. $$\n",
    "\n",
    "We can now check what is the time evolution of an operator\n",
    "\n",
    "$$ \\langle\\Psi(t)|\\mathcal{O}|\\Psi(t)\\rangle= \\sum_{n}\\sum_{m}e^{-it(E_{n}-E_{m})} \\langle\\Psi_{0}|E_{m}\\rangle\\langle E_{m}|\\mathcal{O}|E_{n}\\rangle\\langle E_{n}|\\Psi_{0}\\rangle.$$\n",
    "\n",
    "* If $|\\Psi_{0})\\rangle$ is an stationary state, then $\\langle\\Psi(t)|\\mathcal{O}|\\Psi(t)\\rangle=\\sum_{n}\\langle E_{n}|\\mathcal{O}|E_{n}\\rangle$ and it is constant in time.\n",
    "* If $[H,\\mathcal{O}]=0$, then $\\mathcal{O}$ has the same eigenstates as $H$ and $\\langle\\Psi(t)|\\mathcal{O}|\\Psi(t)\\rangle=\\langle \\Psi_{0}|\\mathcal{O}|\\Psi_{0}\\rangle$ and it is a constant of motion.\n",
    "\n",
    "Then, if none of the above cases are fulfilled, the expectation value of $\\mathcal{O}$ will oscillate according to the frequencies $(E_{n}-E_{m})$.\n",
    "\n",
    "For the case of magnetization and the transverse Ising model, as $[H,\\hat{\\sigma}_{z}]\\neq0$, we can observe a time evolution of an operator if we choose $|\\Psi_{0}\\rangle$ not being a stationary state.\n",
    "\n",
    "### Time evolution operator\n",
    "\n",
    "We can take advantage of our circuit to implement the time evolution in a very easy way: we only need to compute the time evolution operator over our diagonalized hamiltonian and then apply the $U_{dis}$ gate to transform it into the Ising state. As the eigenstates of $\\tilde{H}$ are the states in the computational basis, the time evolution operation consists only to add the corresponding phase $e^{-itE_{n}}$ over the chosen state:\n",
    "\n",
    "1) We choose some initial state written in terms of the $\\tilde{H}$ basis $$ |\\Psi_{0}\\rangle = \\sum_{i}c_{i}|\\psi_{i}\\rangle. $$ A linear combination of eigenstates is also an eigenstate, so $|\\Psi_{0}\\rangle$ is a stationary state of $\\tilde{H}$.\n",
    "\n",
    "2) We apply the time evolution operator over this state $$ |\\Psi(t)\\rangle=e^{-it\\tilde{H}}|\\Psi_{0}\\rangle= \\sum_{i}c_{i}e^{-it\\epsilon_{i}}|\\psi_{i}\\rangle. $$\n",
    "\n",
    "If we stop here and compute the magnetization, it will be constant, as we are evolving a stationary state... in terms of $\\tilde{H}$ basis, but $|\\Psi_{0}\\rangle$ will not be necessarily an eigenstate of the Ising hamiltonian!\n",
    "\n",
    "3) We implement the $U_{dis}$ gate to transform the state to the Ising basis $$ |\\Phi(t)\\rangle= U_{dis}|\\Psi(t)\\rangle= U_{dis}\\sum_{i}c_{i}e^{-it\\epsilon_{i}}|\\psi_{i}\\rangle. $$\n",
    "\n",
    "Now, $|\\Phi(t)\\rangle$ is not, in general, an eigenstate of the Ising hamiltonian, so we expect to observe an oscillating time evolution of magnetization.\n",
    "\n",
    "The key point here is that to implement the time evolution over a computational state is very easy, as we only need to add a phase over the qubits involve. Let's see a particular example.\n",
    "\n",
    "### Example: time evolution of $|\\uparrow\\uparrow\\uparrow\\uparrow\\rangle$ state\n",
    "\n",
    "We want to observe the time evolution of the state of all spins align in the positive direction of $\\sigma_{z}$. This is not an eigenstate of Ising hamiltonian, since \"all spins aligned\" is a degenerate state (all spins up or all spins down). First we need to know what is the corresponding state in the diagonal basis (remember that we choose $|\\uparrow\\rangle\\equiv|0\\rangle$):\n",
    "\n",
    "$$ |\\psi_{0}\\rangle=U^{\\dagger}_{dis}|0000\\rangle=\\cos\\phi|0000\\rangle+i\\sin\\phi|1100\\rangle , \\qquad \\phi=\\frac{1}{2}\\arccos\\left(\\frac{\\lambda}{\\sqrt{1+\\lambda^2}}\\right).$$\n",
    "\n",
    "Secondly, we compute the time evolution of this state, _i.e._ we add the corresponding phases $e^{-it\\epsilon_{i}}$, where $\\epsilon_{i}$ are the energies of the states $|0000\\rangle$ and $|1100\\rangle$:\n",
    "\n",
    "$$ |\\psi(t)\\rangle=e^{-it(-2(\\lambda+\\sqrt{1+\\lambda^2}))}\\cos\\phi|0000\\rangle+ie^{-it2(\\lambda-\\sqrt{1+\\lambda^2})}\\sin\\phi|1100\\rangle = e^{2it(\\lambda+\\sqrt{1+\\lambda^2}))}\\left(\\cos\\phi|00\\rangle+ ie^{4it\\sqrt{1+\\lambda^2}}\\sin\\phi|11\\rangle\\right)\\otimes|00\\rangle,$$\n",
    "\n",
    "where we can forget the first exponential since it only introduces a phase.\n",
    "\n",
    "Notice that to prepare this state is only necessary to make a rotation on the first qubit followed by a CNOT; the other two qubits are prepared in the $|0\\rangle$ state, which is very convenient.\n",
    "Once we have $|\\psi(t)\\rangle$, we can apply $U_{dis}$ and compute the expected value of the magnetization."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def Initial_time(qc,t,lam,q0,q1,q2,q3):\n",
    "    qc.u3(np.arccos(lam/np.sqrt(1+lam**2)),pi/2.+4*t*np.sqrt(1+lam**2),0.,q0)\n",
    "    qc.cx(q0,q1)\n",
    "def Ising_time(qc,ini,udis,mes,lam,t,q0,q1,q2,q3,c0,c1,c2,c3):\n",
    "    Initial_time(ini,t,lam,q0,q1,q2,q3)\n",
    "    Udisg(udis,lam,q0,q1,q2,q3)\n",
    "    mes.measure(q0,c0)\n",
    "    mes.measure(q1,c1)\n",
    "    mes.measure(q2,c2)\n",
    "    mes.measure(q3,c3)\n",
    "    qc.add_circuit(\"Ising_time\",ini+udis+mes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#Simulation\n",
    "shots = 1024\n",
    "backend = 'ibmqx_qasm_simulator'\n",
    "coupling_map = None\n",
    "# We compute the time evolution for lambda=0.5,0.9 and 1.8\n",
    "nlam=3\n",
    "magt_sim=[[] for _ in range(nlam)]\n",
    "lam0=[0.5,0.9,1.8]\n",
    "for j in range(nlam):\n",
    "    lam=lam0[j]\n",
    "    for i in range(9):\n",
    "        Isex_time = QuantumProgram()\n",
    "        q = Isex_time.create_quantum_register(\"q\",4)\n",
    "        c = Isex_time.create_classical_register(\"c\", 4)\n",
    "        Udis = Isex_time.create_circuit(\"Udis\", [q], [c])\n",
    "        ini = Isex_time.create_circuit(\"ini\",[q],[c])\n",
    "        mes = Isex_time.create_circuit(\"mes\",[q],[c])\n",
    "\n",
    "        t=i*0.25\n",
    "        Ising_time(Isex_time,ini,Udis,mes,lam,t,q[0],q[1],q[2],q[3],c[0],c[1],c[2],c[3])\n",
    "\n",
    "        Isex_time.set_api(Qconfig.APItoken, Qconfig.config[\"url\"]) \n",
    "\n",
    "        result = Isex_time.execute([\"Ising_time\"], backend=backend,\n",
    "                    coupling_map=coupling_map, shots=shots,timeout=240000)\n",
    "        res=result.get_counts(\"Ising_time\")\n",
    "        r1=list(res.keys())\n",
    "        r2=list(res.values())\n",
    "        M=0\n",
    "        for k in range(0,len(r1)):\n",
    "            M=M+(4-2*digit_sum(r1[k]))*r2[k]/shots\n",
    "        magt_sim[j].append(M/4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "shots = 1024\n",
    "backend = 'ibmqx5'\n",
    "max_credits = 5\n",
    "# We compute the time evolution for lambda=0.5,0.9 and 1.8\n",
    "nlam=3\n",
    "magt=[[] for _ in range(nlam)]\n",
    "lam0=[0.5,0.9,1.8]\n",
    "for j in range(nlam):\n",
    "    lam=lam0[j]\n",
    "    for i in range(9):\n",
    "        Isex_time = QuantumProgram()\n",
    "        q = Isex_time.create_quantum_register(\"q\",12)\n",
    "        c = Isex_time.create_classical_register(\"c\", 4)\n",
    "        Udis = Isex_time.create_circuit(\"Udis\", [q], [c])\n",
    "        ini = Isex_time.create_circuit(\"ini\",[q],[c])\n",
    "        mes = Isex_time.create_circuit(\"mes\",[q],[c])\n",
    "\n",
    "        t=i*0.25\n",
    "        Ising_time(Isex_time,ini,Udis,mes,lam,t,q[6],q[7],q[11],q[10],c[0],c[1],c[2],c[3])\n",
    "\n",
    "        Isex_time.set_api(Qconfig.APItoken, Qconfig.config[\"url\"]) \n",
    "\n",
    "        result = Isex_time.execute([\"Ising_time\"], backend=backend,\n",
    "                    max_credits=max_credits, wait=10, shots=shots,timeout=240000)\n",
    "        res=result.get_counts(\"Ising_time\")\n",
    "        r1=list(res.keys())\n",
    "        r2=list(res.values())\n",
    "        M=0\n",
    "        for k in range(0,len(r1)):\n",
    "            M=M+(4-2*digit_sum(r1[k]))*r2[k]/shots\n",
    "        magt[j].append(M/4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fe584f69438>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def exact_time(lam,tt):\n",
    "    Mt=(1 + 2*lam**2 + np.cos(4*tt*np.sqrt(1 + lam**2)))/(2 + 2*lam**2)\n",
    "    return Mt\n",
    "vexact_t = np.vectorize(exact_time)\n",
    "t=np.arange(0.0,2.0,0.01)\n",
    "tt=np.arange(0.0,2.25,0.25)\n",
    "plt.figure(figsize=(10,5))\n",
    "plt.plot(t,vexact_t(0.5,t),'b',label='$\\lambda=0.5$')\n",
    "plt.plot(t,vexact_t(0.9,t),'r',label='$\\lambda=0.9$')\n",
    "plt.plot(t,vexact_t(1.8,t),'g',label='$\\lambda=1.8$')\n",
    "#plt.plot(tt, magt_sim[0], 'bo',label='simulation')\n",
    "#plt.plot(tt, magt_sim[1], 'ro')\n",
    "#plt.plot(tt, magt_sim[2], 'go')\n",
    "plt.plot(tt, magt[0], 'b*',label='ibmqx5')\n",
    "plt.plot(tt, magt[1], 'r*')\n",
    "plt.plot(tt, magt[2], 'g*')\n",
    "plt.plot(tt, magt[0], 'b--')\n",
    "plt.plot(tt, magt[1], 'r--')\n",
    "plt.plot(tt, magt[2], 'g--')\n",
    "plt.xlabel('time')\n",
    "plt.ylabel('$<\\sigma_{z}>$')\n",
    "plt.legend()\n",
    "plt.title('Time evolution |↑↑↑↑> state')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fe57fc5e358>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(13,3))\n",
    "plt.subplot(1,3,1)\n",
    "plt.plot(t,vexact_t(0.5,t),'b',label='$\\lambda=0.5$')\n",
    "plt.plot(tt, magt[0], 'b*',label='ibmqx5')\n",
    "plt.plot(tt, magt[0], 'b--',label='ibmqx5')\n",
    "plt.xlabel('time')\n",
    "plt.ylabel('$<\\sigma_{z}>$')\n",
    "plt.title('$\\lambda=0.5$')\n",
    "plt.subplot(132)\n",
    "plt.plot(t,vexact_t(0.9,t),'r',label='$\\lambda=0.9$')\n",
    "plt.plot(tt, magt[1], 'r*',label='ibmqx5')\n",
    "plt.plot(tt, magt[1], 'r--',label='ibmqx5')\n",
    "plt.xlabel('time')\n",
    "plt.ylabel('$<\\sigma_{z}>$')\n",
    "plt.title('$\\lambda=0.9$')\n",
    "plt.subplot(133)\n",
    "plt.plot(t,vexact_t(1.8,t),'g',label='$\\lambda=1.8$')\n",
    "plt.plot(tt, magt[2], 'g*',label='ibmqx5')\n",
    "plt.plot(tt, magt[2], 'g--',label='ibmqx5')\n",
    "plt.xlabel('time')\n",
    "plt.ylabel('$<\\sigma_{z}>$')\n",
    "plt.title('$\\lambda=1.8$')\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***\n",
    "### *References*\n",
    "\n",
    "[1] R. Orús, *A Practical Introduction to Tensor Networks: Matrix Product States and Projected Entangled Pair States*, Annals of Physics **349**, 117-158 (2014), [arXiv:1306.2164](https://arxiv.org/abs/1306.2164).<br>\n",
    "[2] F. Verstraete, J. I. Cirac and J. I. Latorre, *Quantum circuits for strongly correlated quantum systems*, Phys. Rev. A **79**, 032316 (2009), [arXiv:0804.1888](https://arxiv.org/abs/0804.1888). <br>\n",
    "[3] J. I. Latorre and A. Riera, *A short review on entanglement in quantum spin systems*, J. Phys. A: Math. Theor. **42**, 504002 (2009), [arXiv:0906.1499](https://arxiv.org/abs/0906.1499). <br>\n",
    "[4] E. Lieb, T. Schultz and D. Mattis, *Two soluble models of an antiferromagnetic chain*, [Annals of Physics **16**, Issue 3, 407-466 (1961)](https://www.sciencedirect.com/science/article/pii/0003491661901154). <br>\n",
    "[5] S. Katsura, *Statistical Mechanics of the Anisotropic Linear Heisenberg Model*, [Phys. Rev. **127**, 1508 (1962)](https://journals.aps.org/pr/abstract/10.1103/PhysRev.127.1508). <br>\n",
    "[6] A. J. Ferris, *Fourier transform of fermionic systems and the spectral tensor network*, Phys. Rev. Lett. **113**, 010401 (2014), [arXiv:1310.7605](https://arxiv.org/abs/1310.7605). <br>\n",
    "[7] A. Barenco, C. H. Bennett, R. Cleve, D. P. DiVincenzo, N. Margolus, P. Shor, T. Sleator, J. Smolin, H. Weinfurter, *Elementary gates for quantum computation*, Phys.Rev. A **52**, 3457 (1995), [arXiv:950316](https://arxiv.org/abs/quant-ph/9503016)."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "QISKitenv",
   "language": "python",
   "name": "qiskitenv"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
